(a) Field of the Invention
The present invention relates generally to communication systems and, more particularly to an adaptable redundancy scheme, or overlay, for use in communication systems that use forward error correction (FEC) schemes.
(b) Description of Related Art
Many digital cellular systems break time into a number of slots and transmit information in each time slot. For example, a cellular system may break time into six slots, with a different subscriber unit assigned to communicate with a cellular base station during each one of the time slots. The cellular base station communicates with a first user during a first time slot, a second user during a second time slot, and so on for each time slot. After communication is made on the last time slot, the cycle is repeated and communication is made on the first time slot. However, not all of the time slots are completely filled with digital communication signals and, therefore, valuable communication time is wasted. This cellular communications configuration, where time is multiplexed between numerous users, is typically referred to as a time division multiple access (TDMA) system. TDMA systems typically use some form of Forward Error Correction (FEC) to minimize the number of communication errors in a system, thereby, improving the quality of the system.
Standard IS-136 is the current digital cellular standard used for TDMA systems. FIG. 1 is a diagram showing the FEC scheme for an IS-136 TDMA digital cellular system, which uses trellis coding. The IS-136 system includes a speech coder 50 coupled to an IS-136 FEC coder 51, which includes a 7-bit Cyclic Redundency Check (CRC) computation function 52, a rate 1/2+L convolutional coder 54, a puncturing function 56, a voice cipher 58, and a 2-slot interleaver 60. The speech coder 50 processes analog voice signals into digital data or bits. The IS-136 FEC scheme uses unequal protection of the speech coder 50 output bits to reduce communication errors. Bits from the speech coder 50 are classified into three distinct categories. The speech coder 50 outputs 48 class Ia bits, which are passed to both the CRC computation function 52 and the rate 1/2+L convolutional coder 54. Although a speech coder 50 is disclosed, any digital data source may be used. The class Ia bits, which are the 48 most perceptually significant bits in terms of voice quality, are protected by a 7-bit CRC, which is generated by the CRC computation function 52, and the rate 1/2+L conditional code. The speech coder 50 also outputs 48 class Ib outputs, which are passed to, and protected by, the rate 1/2+L convolutional coder 54. Additionally, the speech coder 50 produces 52 class II bits that are not protected in any way. The class II bits are perceptually the least significant bits used in the system.
The class Ia bits, class Ib bits, the 7-bit CRC, and 5 tail bits, which are used to terminate a trellis, are processed by the rate 1/2+L convolutional coder 54. As will be appreciated by one skilled in the art, a trellis code is a digital communication coding scheme. The rate 1/2+L convolutional coder 54 produces 216 encoded bits from the 108 bit input. The output of the rate 1/2+L convolutional coder 54 is coupled to a puncturing function 56, which punctures (deletes) 8 bits, thereby creating a 208 bit output. The output of the puncturing function 56 and the 52 class II output from the speech coder 50 are coupled to a voice cipher 58. The voice cipher 58 performs data encryption on the 260 bits to create 260 encoded bits. The output of the voice cipher 58 is coupled to the 2-slot interleaver 60, which reorders the encoded bits of two slots in order to randomize any burst errors that the channel may produce as seen by the channel decoder. In order to meet system usage and quality of service requirements, there will often be idle time slots where no data communications take place.
Due to advances in technology and other market factors, there is a movement in the digital cellular industry to modify standard IS-136 in order to make use of any idle time slot period. The proposed modification to IS-136 is known generally as the ADVICE system. The ADVICE system allows a cellular base station to transmit auxiliary information (bits) in idle time slot periods. The auxiliary coded information will be redundant information that assists certain subscriber units in accurately receiving communications sent from a cellular base station, thereby, resulting in higher voice quality at the subscriber unit.
Although the ADVICE system proposes utilizing unused time slots to transmit auxiliary information, the ADVICE system does not specify any manner in which the auxiliary information is to be generated. Digital communication systems such as cellular systems typically use trellis coding, a process by which each bit that is input into an encoder results in the transmission of multiple coded bits. Trellis coding is typically implemented using convolutional codes or multiple trellis coded modulation codes. Rate-compatible families of such codes are well known for their suitability in adaptive FEC and automatic repeat request (ARQ) protocols.
Currently, multiple rate codes are typically generated by puncturing a base code. Puncturing a code consists of removing selected coded bits from the transmission stream. For example, a rate 1/4 encoder generates four coded bits for each data bit that is to be broadcast. If a certain number of coded bits are deleted, the effective rate of the code becomes higher than 1/4. When a communication channel is unfavorable, all coded bits from the base code are transmitted. However, as the channel quality improves, fewer of the encoded bits are transmitted, thereby raising the effective rate of the code. That is, as the channel improves, the puncture rate increases.
One approach to providing the auxiliary information to subscriber units is through traditional concatenated coding schemes. Concatenated coding schemes typically use a high rate BCH or Reed-Solomon codes as an outer code. However, the use of this approach in the ADVICE system would increase subscriber unit complexity because each subscriber unit would require a BCH/Reed-Solomon decoder, which the subscriber units do not presently have, as it is not part of the current IS-136 standard. Additionally, performance issues with concatenated coding include a lack of optimal maximum likelihood decoders and the severe nature of Rayleigh fading channels, which is typical of mobile cellular systems. The implementation of a concatenated coding scheme would require significant changes to the IS-136 coding scheme, thereby adversely affecting backward compatibility. Because the IS-136 standard is used by so many communication systems, it is necessary that the implementation of the ADVICE system maintain backward compatibility with current cellular communication systems.
Accordingly, there is a need for a method of generating and selecting auxiliary data bits to be sent during idle time slot periods in the ADVICE communication system. It is necessary that the ADVICE system maintain backward compatibility with current IS-136 systems, while not requiring additional complexity in the subscriber unit.